'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
#作者：cacho_37967865
#博客：https://blog.csdn.net/sinat_37967865
#文件：logger.py
#日期：2018-11-11
#备注：logging模块是Python内置的标准模块，主要用于输出运行日志，可以设置输出日志的等级、日志保存路径、日志文件回滚等。  
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

import logging
from datetime import datetime

class Logger:
    def __init__(self,logger):
        self.logger = logging.getLogger(logger)    # 初始化一个logger,参数logger为str类型
        self.logger.setLevel(logging.DEBUG)        # 总级别：所有信息都输出

        # 将日志存储到指定目录的文件
        rq = datetime.now().strftime('%Y%m%d%H%M')    # 格式：201811111833（年月日时分）
        log_path = 'F:\PythonProject\Logs\\'  # 指定存储的绝对路径   log_path = os.path.dirname(os.path.abspath('.')) + '/logs/'    # 指定存储的绝对路径
        log_name = log_path + logger + '_' + rq + '.log'  # 文件名称
        fh = logging.FileHandler(log_name)

        # 在控制台输出日志
        ch = logging.StreamHandler()
        ch.setLevel(logging.INFO)                      # 设置输出到控制台的级别

        # 日志输出格式设置
        formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s --> %(message)s')
        #formatter = logging.Formatter('%(message)s')

        fh.setFormatter(formatter)
        ch.setFormatter(formatter)

        # 日志处理
        self.logger.addHandler(fh)
        self.logger.addHandler(ch)


    def get_log(self):
        return self.logger